package com.hazesoft.hdclib;

public abstract class HazeLayoutDownloader {
	
	protected HazeComponentManager mManagerInstance;
	protected Object mDownloaderParameters;
	
	public void Prepare(HazeComponentManager managerInstance, Object downloaderParameters)
	{
		mManagerInstance = managerInstance;
		mDownloaderParameters = downloaderParameters;
	}
	
	/**
	 * Downloads the layout file and saves it in the location specified by {@link localFilePath}
	 * @param localFilePath The file path that the downloaded layout file must be saved to.
	 * @return
	 */
	public abstract boolean Download(String localFilePath);
	
	/**
	 * Check if the current file is up to date and indicate whether a new file should be downloaded.
	 * @param localFilePath The file path that the downloaded layout file must be saved to.
	 * @return Returns {@value true} if the layout file needs to be downloaded
	 */
	public abstract boolean RequireDownload(String localFilePath);
}
